package com.xrit.jobs;

import com.alibaba.dubbo.config.annotation.Reference;
import com.xrit.sunnyday.service.SetmealService;
import com.xrit.sunnyday.utils.QiNiuUtils;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 任务调度，处理7牛云上的与数据库不匹配的垃圾图片
 */
@Component("CleanImg")
public class CleanImg {
    //远程调用服务
    @Reference
    private SetmealService setmealService;

    //具体执行方法
    public void cleanImg(){
        //1.查出7牛云空间里的所有图片
        List<String> imgIn7Niu = QiNiuUtils.listFile();
        //2.查出数据库套餐表中的所有图片
        List<String> imgInDb = setmealService.findImgs();
        //3.7牛云的图片数量-数据库中的图片数量(List<String>),剩下的就是7牛多出来的垃圾图片
        imgIn7Niu.removeAll(imgInDb);
        //5.将集合转成String数组,Object toArray()、T toArray(T t)
        String[] strings = imgIn7Niu.toArray(new String[]{});
        //4.删除7牛云的垃圾图片
        QiNiuUtils.removeFiles(strings);
    }
}
